Skip to content

fix(journey): conditional skip CRM load for variable-only (EVO-1895)#91

Merged
dpaes merged 1 commit into
developfrom
danilocarneiro/evo-1895-jornadas-conditional-node-faz-round-trip-ao-crm-mesmo-em
Jun 25, 2026
Merged

fix(journey): conditional skip CRM load for variable-only (EVO-1895)#91
dpaes merged 1 commit into
developfrom
danilocarneiro/evo-1895-jornadas-conditional-node-faz-round-trip-ao-crm-mesmo-em

Conversation

@daniloleonecarneiro

Copy link
Copy Markdown

Resumo

O conditional-node disparava loadContactData (round-trip ao CRM) em TODA execução, mesmo quando as condições avaliam apenas variáveis de sessão (ex.: {{tier}}/{{flag}}). Com CRM lento/ausente, a sessão ficava vários segundos parada no nó (>7s observado no e2e — defeito D4).

Mudança

Hidrata o contato apenas quando alguma condição realmente precisa dele, espelhando o gating já existente de needsConversationData:

  • type === 'contact', OU
  • field casa {{contact.*}} (resolvido por padrão de campo independente do type, igual a evaluateCondition).

Quando nenhuma condição precisa, passa {} (mesma forma que loadContactData retorna em falha → resolveContactField devolve undefined, o sinal correto de "no match"). Fix cirúrgico e isolado no gating; o tratamento de erro de loadContactData fica intocado (escopo do EVO-1913).

Testes

  • conditional.node.spec.ts: 21/21 verde (19 prévios + 2 novos):
    • pula o round-trip ao CRM quando condições só leem variáveis de sessão
    • ainda carrega o contato para type: 'contact' selecionado por nome (fallback ao type)
  • tsc -p tsconfig.json --noEmit: limpo

EVO-1895

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry @daniloleonecarneiro, you have reached your weekly rate limit of 500000 diff characters.

Please try again later or upgrade to continue using Sourcery

@daniloleonecarneiro daniloleonecarneiro self-assigned this Jun 25, 2026

@dpaes dpaes left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved — deep adversarial review (card + authoritative diff + real code): acceptance criteria met, no blocking findings. Merge intentionally held to land in the coordinated dependency-order pass. Branch is clean vs develop.

@dpaes dpaes merged commit c4703d2 into develop Jun 25, 2026
3 checks passed
@dpaes dpaes deleted the danilocarneiro/evo-1895-jornadas-conditional-node-faz-round-trip-ao-crm-mesmo-em branch June 25, 2026 21:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants